A Source Code Change Impact Analysis Algorithm for Iterative Software Development
نویسنده
چکیده
CHA-AS is a source code change impact analysis algorithm for Java programs. CHA-AS differs from other algorithms in that it does not require the program versions it compares to be whole programs with a welldefined program entry point. The need for such an algorithm is evident in iterative software development projects and projects involving the development of code libraries and frameworks—all of which may not have a well-defined program entry point at the time when change impact analysis needs to be performed. The CHA-AS algorithm supports the development of Decision Support Systems for software development managers and programmers working on iterative software development projects, or projects to develop source code libraries and frameworks. This paper describes the CHA-AS algorithm and demonstrates it to be efficient and effective in calculating source code change impact. DOI: 10.4018/jdsst.2012100104 International Journal of Decision Support System Technology, 4(4), 60-75, October-December 2012 61 Copyright © 2012, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited. calls. Although fully-functional software programs can reasonably be expected to have such a program entry point, other software cannot. Software being developed using iterative software development methods, such as TestDriven Development (TDD) (Beck, 2002), may not have a well-defined program entry point at the time when change impact analysis needs to be performed; and code libraries and software development frameworks may never have such an entry point. Source code change impact analysis algorithms may be used to form the foundation of Decision Support Systems that provide critical information to software development managers and programmers. The most obvious use of these change impact based Decision Support Systems is to obtain information about how project schedules and budgets will be affected by software change requests. This information can be used as input for project scheduling, feasibility analysis, and client negotiation decisions. These Decision Support Systems can also be used by software developers to evaluate different alternatives for implementing change requests in existing software. Other decisions that these systems can support include determining which if any unit tests need to be reexecuted after development of a new iteration (Parashar, Bhatia, & Kalia, 2011; Ren, Shah, Tip, Ryder, & Chesley, 2004), which code needs to be re-analyzed when using automated test data generation (DeMillo & Offutt, 1991) on iterative projects, and which software mutants need to be generated and executed when using mutation analysis (DeMillo, Krauser, & Mathur, 1991) on iterative projects. This paper promotes the development of change impact based Decision Support Systems by describing and evaluating the Class Hierarchy Analysis, Arbitrary Start (CHA-AS) change impact analysis algorithm. CHA-AS is a source code change impact analysis algorithm for Java programs, which can identify the impact of a set of source code changes in situations where a clearly defined program entry point does not exist at the time when change impact analysis needs to be performed. A prior version of the algorithm was presented at the 2010 Annual Meeting of the Decision Sciences Institute (Wilkerson, 2010).
منابع مشابه
Assessing Software Process Hotspots via Analysis and Visualiation of Software Repository Data
The software development process is an incremental and iterative activity. Source code is constantly changed to reflect changing requirements, to respond to testing results, and to address problem reports. This paper presents a methodology and a toolkit (VITA) for applying source code analysis techniques to configuration management repository data with the aim of identifying the impact on file ...
متن کاملNovel Techniques For Model-Code Synchronization
The orientation of the current software development practice requires efficient model-based iterative solutions. The high costs of maintenance and evolution during the life cycle of the software can be reduced by using tool-aided iterative development. This paper presents how model-based iterative software development can be supported through efficient model-code change propagation. The present...
متن کاملA Learning Algorithm for Change Impact Prediction: Experimentation on 7 Java Applications
Change impact analysis consists in predicting the impact of a code change in a software application. In this paper, we take a learning perspective on change impact analysis and consider the problem formulated as follows. The artifacts that are considered are methods of object-oriented software; the change under study is a change in the code of the method, the impact is the test methods that fai...
متن کاملAssessment of Change Request Artifacts Impact towards Fault Proneness
Exploring the impact of change requests applied on a software maintenance project helps to forecasts the fault-proneness of the change request to be handled further, which is either a bug fix or a new feature request. In practice the major development community stores change requests and related data using bug tracking systems such as bugzilla. These data, together with the data stored in a ver...
متن کاملExploring Process Aspects of Change Impact Analysis
Change is inevitable in software development. During the entire lifecycle of a software system, from conception to retirement, things happen that require the system to be changed: the hardware and software environment changes, customer needs evolve, flaws are found, and so on. Under these conditions, it is crucial to have full control over and knowledge about what changes mean to the system and...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- IJDSST
دوره 4 شماره
صفحات -
تاریخ انتشار 2012